package com.xiaoshuidi.cloud.module.contract.convert.bill;

import com.xiaoshuidi.cloud.module.contract.controller.admin.bill.vo.rentOrder.RentOrderExcelVO;
import com.xiaoshuidi.cloud.module.contract.controller.admin.bill.vo.rentOrder.RentOrderResp;
import com.xiaoshuidi.cloud.module.contract.enums.bill.OrderTypeEnum;

import java.util.ArrayList;
import java.util.List;

public class MyRentOrderConvert {
    public static List<RentOrderExcelVO> convertList(List<RentOrderResp> rentOrderRespVO){
        if ( rentOrderRespVO == null ) {
            return null;
        }

        List<RentOrderExcelVO> list = new ArrayList<RentOrderExcelVO>( rentOrderRespVO.size() );
        for ( RentOrderResp rentOrderResp : rentOrderRespVO ) {
            list.add( rentOrderRespToRentOrderExcelVO( rentOrderResp ) );
        }

        return list;
    };

    private static RentOrderExcelVO rentOrderRespToRentOrderExcelVO(RentOrderResp rentOrderResp) {
        if ( rentOrderResp == null ) {
            return null;
        }

        RentOrderExcelVO rentOrderExcelVO = new RentOrderExcelVO();

        if ( rentOrderResp.getId() != null ) {
            rentOrderExcelVO.setId( rentOrderResp.getId() );
        }
        if ( rentOrderResp.getNum() != null ) {
            rentOrderExcelVO.setNum( rentOrderResp.getNum() );
        }
        if ( rentOrderResp.getBusinessId() != null ) {
            rentOrderExcelVO.setBusinessId( rentOrderResp.getBusinessId() );
        }
        if ( rentOrderResp.getPayStatus() != null ) {
            rentOrderExcelVO.setPayStatus( rentOrderResp.getPayStatus() );
        }
        if ( rentOrderResp.getOrderNo() != null ) {
            rentOrderExcelVO.setOrderNo( rentOrderResp.getOrderNo() );
        }
        if ( rentOrderResp.getApartmentName() != null ) {
            rentOrderExcelVO.setApartmentName( rentOrderResp.getApartmentName() );
        }
        if ( rentOrderResp.getRoomName() != null ) {
            rentOrderExcelVO.setRoomName( rentOrderResp.getRoomName() );
        }
        if ( rentOrderResp.getTotalAmount() != null ) {
            rentOrderExcelVO.setTotalAmount( rentOrderResp.getTotalAmount() );
        }
        if ( rentOrderResp.getReceivableAmount() != null ) {
            rentOrderExcelVO.setReceivableAmount( rentOrderResp.getReceivableAmount() );
        }
        if ( rentOrderResp.getPaidAmount() != null ) {
            rentOrderExcelVO.setPaidAmount( rentOrderResp.getPaidAmount() );
        }
        if ( rentOrderResp.getOrderType() != null ) {
            rentOrderExcelVO.setOrderType(OrderTypeEnum.getName(rentOrderResp.getOrderType()));
        }
        if ( rentOrderResp.getCompanyName() != null ) {
            rentOrderExcelVO.setCompanyName( rentOrderResp.getCompanyName() );
        }
        if ( rentOrderResp.getCustomerName() != null ) {
            rentOrderExcelVO.setCustomerName( rentOrderResp.getCustomerName() );
        }
        if ( rentOrderResp.getOrderStatusName() != null ) {
            rentOrderExcelVO.setOrderStatusName( rentOrderResp.getOrderStatusName() );
        }

        return rentOrderExcelVO;
    }
}
